﻿Imports BusinessLogicLayer
Imports BE = BusinessEntities

Partial Class BuscarServicios
    Inherits System.Web.UI.Page

    Dim errores As String
    Dim mensaje As String
    Public Shared Categoria As String
    Public Shared Criterio As String



    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then

            Cargargridview()

        End If

    End Sub


    Sub Cargargridview()
        'Recuperamos los parámetros enviados ya sea por elegir una
        'categoría o por haber digitado un criterio
        Categoria = Request.QueryString("Categoria")
        Criterio = Request.QueryString("Criterio")


        'Instanciamos la clase 
        Dim capanegocios As New ServicioBL
        'Instanciamos la entidad de negocio 
        Dim objeto As New BE.ServicioBE
        objeto.tiposervicio = Categoria
        objeto.nombreservicio = Criterio



        If Categoria <> "" Then
            'Hay que buscar por la categoría elegida
            'Invocamos al método BuscarServiciosxTipo definido previamente en la clase
            gvservicios.DataSource = capanegocios.BuscarServiciosxTipo(objeto)
            gvservicios.DataBind()


            Dim nombrecate As String
            'Invocamos al método BuscarDescripcionTipoServicios definido previamente en la 'clase
            nombrecate = capanegocios.BuscarDescripcionTipoServicios(objeto).Tables("descripcionTipoServicios").Rows(0).Item(0)
            lblcategoria.Text = "Resultados de la búsqueda para " + nombrecate
            lblcriterio.Visible = False

        ElseIf Criterio <> "" Then
            'Hay que buscar por el criterio elegido
            'Invocamos al método BuscarServiciosxCriterio definido previamente en la 'clase
            gvservicios.DataSource = capanegocios.BuscarServiciosxCriterio(objeto)
            gvservicios.DataBind()
            lblcategoria.Visible = False
            lblcriterio.Text = "Resultados de la búsqueda para " + Criterio.ToString
        Else
            lblvacio.Text = "No se ingresó criterio alguno de búsqueda"
        End If
        'Liberamos recursos
        capanegocios = Nothing

    End Sub

    Sub AgregaralCarrito(ByVal Src As Object, ByVal Args As CommandEventArgs)
        'Agregar item al carrito de compras 
        Dim servicio As String
        'Recuperamos el código del producto enviado al carrito
        servicio = Args.CommandName
        If Session("CARRITO") = "" Then
            Randomize()
            'Generamos un código de carrito único para cada usuario
            Session("CARRITO") = (Int((9999999 - 1111111 + 1) * Rnd() + 1111111)).ToString()
        End If



        'Hacemos una referencia a la clase
        Dim capanegocios As New CarritoBL
        Dim objeto As New BE.CarritoBE


        objeto.codigo = Session("CARRITO")
        objeto.codigoservicio = servicio

        'Invocamos al método LlenarCarrito definido previamente en la clase
        capanegocios.LlenarCarrito(objeto)
        'Liberamos recursos
        capanegocios = Nothing
        'Cambiamos la apariencia del botón
        Src.Text = "Item Añadido"
        Src.Style("background-color") = "#FF0000"
        Src.Style("color") = "#FFFFFF"
    End Sub


    Sub VerDetalleServicio(ByVal Src As Object, ByVal Args As CommandEventArgs)
        'Enviamos tres parámetros a la página detallespro.aspx
        Response.Redirect("DetalleServicio.aspx?Categoria=" & Categoria & _
        "&Criterio=" & Criterio & "&Servicio=" & Args.CommandName)
    End Sub


    Sub Cambiarpagina(ByVal sender As Object, ByVal e As GridViewPageEventArgs)
        gvservicios.PageIndex = e.NewPageIndex
        Cargargridview()
    End Sub

End Class
